package com.byd.sealmanage.dao.mybatis;

import com.byd.sealmanage.config.CommonMapper;
import com.byd.sealmanage.modal.bo.ProcessParamVO;
import com.byd.sealmanage.modal.po.TbProcess;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface TbProcessMapper extends CommonMapper<TbProcess> {

    /**
     * 获取我的申请页面表格数量
     * @param processParamVO
     * @return
     */
    int selectApplyCount(ProcessParamVO processParamVO);

    /**
     * 获取我的申请页面表格数据
     * @param processParamVO
     * @return
     */
    List<ProcessParamVO> selectApplyData(ProcessParamVO processParamVO);

    /**
     * 获取流程详情页基本信息
     * @param trackId
     * @return
     */
    ProcessParamVO selectBasicInfo(String trackId);

    /**
     * 获取我的待办页面数据数量
     * @param processParamVO
     * @return
     */
    int getMyNotDoDataCount(ProcessParamVO processParamVO);

    /**
     * 获取我的待办页面数据
     * @param processParamVO
     * @return
     */
    List<ProcessParamVO> getMyNotDoDataList(ProcessParamVO processParamVO);

    /**
     * 查询未结案前流程的信息
     * @param trackId
     * @return
     */
    ProcessParamVO selectWorkingProcess(String trackId);

    /**
     * 获取我的审批页面数据数量
     * @param processParamVO
     * @return
     */
    int selectMyApproveDataCount(ProcessParamVO processParamVO);

    /**
     * 获取我的审批页面数据
     * @param processParamVO
     * @return
     */
    List<ProcessParamVO> selectMyApproveData(ProcessParamVO processParamVO);

    /**
     * 删除流程记录
     * @param trackId
     * @return
     */
    int deleteProcess(String trackId);
}